package editorsvg.editor.formas;

import editorsvg.gui.generico.Actualizable;
import editorsvg.propiedades.GrupoPropiedades;
import java.awt.Shape;

/**
 * Forma abtracta.
 * @author Jorge Berjano
 */
public abstract class Forma implements Actualizable, Cloneable {
    
    public abstract GrupoPropiedades getPropiedades();
        
    public abstract Shape getShape();

    public abstract String getNombreTag();
    
    /**
     * Actualiza el objeto Shape a partir de sus atributos de tal forma que el
     * metodo getShape unicamente devuelva el objeto.
     */            
    @Override
    public abstract void actualizar();
    
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
